#define _CRT_SECURE_NO_WARNINGS

//#include<iostream>
//#include<vector>
//#include<algorithm>
//using namespace std;

//bool IsContinuous(vector<int>& numbers)
//{
//    sort(numbers.begin(), numbers.end());
//    int count = 0;
//    int ans = 0;
//    for (int i = 0; i < 5; i++)
//    {
//        if (numbers[i] != 0)
//        {
//            if (i != 4 && numbers[i] + 1 != numbers[i + 1])
//            {
//                if (i != 4 && numbers[i] == numbers[i + 1]) return false;
//                int val = numbers[i];
//                while (i < 4 && val + 1 != numbers[i + 1])
//                {
//                    ans++;
//                    val += 1;
//                }
//                if (ans > count) return false;
//            }
//        }
//        else if (numbers[i] == 0)
//        {
//            count++;
//        }
//        // if(numbers[i] != 0&&i != 4 && numbers[i] == numbers[i+1]) return false;
//    }
//    if (ans == count) return true;
//    return true;
//}
//
//int main()
//{
//    vector<int> ret(5);
//    ret[0] = 13, ret[1] = 12, ret[2] = 11, ret[3] = 0, ret[4] = 1;
//
//    IsContinuous(ret);
//
//    return 0;
//}


#include <iostream>
using namespace std;

int dx[4] = { -1,1,0,0 };
int dy[4] = { 0,0,-1,1 };
int ret;
char arr[35][65];
int vis[35][65];

void dfs(int i, int j, int& count)
{
    count++;
    vis[i][j] = true;
    for (int k = 0; k < 4; k++)
    {
        int x = dx[k] + i, y = dy[k] + j;
        if (x >= 0 && x < 30 && y >= 0 && y < 60 && !vis[x][y] && arr[x][y] == '1')
        {
            dfs(x, y, count);
        }
    }
}

int main()
{
    for (int i = 0; i < 30; i++)
    {
        for (int j = 0; j < 60; j++)
        {
            cin >> arr[i][j];
        }
    }

    int count = 0;
    for (int i = 0; i < 30; i++)
    {
        for (int j = 0; j < 60; j++)
        {
            if (arr[i][j] == '1' && !vis[i][j])
            {
                count = 0;
                dfs(i, j, count);
                ret = max(ret, count);
            }
        }
    }
    cout << ret << '\n';

    return 0;
}